CHMOD

#include <sys\types.h>
#include <sys\stat.h>
#include <io.h>       требуется только для объявления функции
            
int chmod(pathname,pmode);
char *pathname;       path-имя существующего файла
int pmode;            разрешенный доступ для файла

Описание.
Функция chmod изменяет разрешенный доступ для файла, заданного path-именем. Разрешенный доступ управляет чтением и записью файла. Константное выражение pmode состоит из одной или обеих манифестных констант S_IWRITE и S_IREAD, определенных в <sys\stat.h>.
Любое другое значение для pmode игнорируется. Когда заданы обе константы, они объединяются логическим оператором ИЛИ (:). Значения аргументов pmode представлены ниже.

ЗНАЧЕНИЕ                      	 СМЫСЛ ЗНАЧЕНИЯ
S_IWRITE                     	 разрешена запись
S_IREAD                      	 разрешено чтение
S_IREAD : S_IWRITE           	 разрешены чтение и запись

Если разрешение на запись не задано, файл доступен только для чтения. В MS DOS все файлы доступны для чтения, поэтому невозможно задание разрешения только на запись. Поэтому режимы S_IWRITE и S_IREAD : S_IWRITE являются эквивалентными.

Возвращаемое значение.
Функция chmod возвращает значение 0, если разрешенный доступ успешно изменен. Возвращаемое значение -1 свидетельствует об ошибке; в этом случае errno устанавливается в ENOENT, указывая, что определенный файл не может быть найден.

Пример:

#include <sys\types.h>
#include <sys.stat.h>
#include <io.h>
int result;
.
.
.
result=chmode("data",S_IREAD);
/* создать файл только для чтения */
if (result==-1)
               perror("can't change file mode");
Hosted by uCoz